package DataStorage;

import java.util.List;

import HibernateSQLite.java.model.Critere;
import HibernateSQLite.java.model.CritereText;
import HibernateSQLite.java.model.MesureText;

public interface ICritereTextDAO extends IGenericDAO<CritereText, Long>{
	
	public boolean isExist(String N_cordon, String critere_name);
	public boolean isExist(long critereText_id);
	public boolean isExist_L1(CritereText critereText);
	public boolean isExist_L2(CritereText critereText);
	public boolean isExist_P1(CritereText critereText);
	public boolean isExist_P2(CritereText critereText);
	public boolean isExist_A(CritereText critereText);
	public boolean isExist_B(CritereText critereText);
	
	public CritereText getCritereText(String N_cordon, String critere_name);
	
	public List<CritereText> getListCritereText(long critere_id);
	public List<CritereText> getListCritereText(String critere_name);
	public List<CritereText> getListCritereText(Critere critere);
	
	public List<String> getListCordon(String critere_name);
	/*
	public List<String> getListOP(long critere_id);
	public List<String> getListCLASSE(long critere_id);
	public List<String> getListCONFIG(long critere_id);
	public List<String> getListDESGNATION(long critere_id);
	*/
	public int getNumberCordon(long critere_id);
	public List<String> getListDistinctOP(long critere_id);
	public List<String> getDistinctCLASSE(long critere_id);
	public List<String> getDistinctDESIGNATION(long critere_id);
	public List<String> getDistinctMATIERES(long critere_id);
	
	public int getValidtyNumberByL1_L2_P1_P2_A_B(CritereText critereText);
	public List<String> getListValidtyByL1_L2_P1_P2_A_B(CritereText critereText);
	public void saveCritereText(String N_cordon, String OP, String classe, String config, String designation, 
								String Matieres_1, String Matieres_2, String epaisseurs_1, String epaisseurs_2,
								String L1, String L2, String P1, String P2, String a, String b, 
								String alpha, String beta, String u1, String u2, Critere critere);

}
